add RISC-V detection
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Thu, 27 Feb 2020 13:52:19 +0000 (13:52 +0000)
committerDmitry Shachnev <mitya57@debian.org>
Thu, 27 Feb 2020 13:52:19 +0000 (13:52 +0000)
Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=9a6a84731131b205
Last-Update: 2019-12-31

Gbp-Pq: Name riscv.diff

src/corelib/global/archdetect.cpp
src/corelib/global/qglobal.cpp
src/corelib/global/qprocessordetection.h

index 66a5e074f62efebea3baa71d3954de8d7033475c..1d00b7f5a52c7fbc2c4f710c79602a03febeaeea 100644 (file)
 #  define ARCH_PROCESSOR "power"
 #elif defined(Q_PROCESSOR_POWER_64)
 #  define ARCH_PROCESSOR "power64"
+#elif defined(Q_PROCESSOR_RISCV_32)
+#  define ARCH_PROCESSOR "riscv32"
+#elif defined(Q_PROCESSOR_RISCV_64)
+#  define ARCH_PROCESSOR "riscv64"
 #elif defined(Q_PROCESSOR_S390_X)
 #  define ARCH_PROCESSOR "s390x"
 #elif defined(Q_PROCESSOR_S390)
index 01f534cc0fe02612656aeefb8680db6322a19cdb..41dcbbaabc7983178cb381b1a165b6e5de7f3af0 100644 (file)
@@ -1870,6 +1870,42 @@ bool qSharedBuild() Q_DECL_NOTHROW
     \sa QSysInfo::buildCpuArchitecture()
 */
 
+/*!
+    \macro Q_PROCESSOR_RISCV
+    \relates <QtGlobal>
+    \since 5.13
+
+    Defined if the application is compiled for RISC-V processors. Qt currently
+    supports two RISC-V variants: \l Q_PROCESSOR_RISCV_32 and \l
+    Q_PROCESSOR_RISCV_64.
+
+    \sa QSysInfo::buildCpuArchitecture()
+*/
+
+/*!
+    \macro Q_PROCESSOR_RISCV_32
+    \relates <QtGlobal>
+    \since 5.13
+
+    Defined if the application is compiled for 32-bit RISC-V processors. The \l
+    Q_PROCESSOR_RISCV macro is also defined when Q_PROCESSOR_RISCV_32 is
+    defined.
+
+    \sa QSysInfo::buildCpuArchitecture()
+*/
+
+/*!
+    \macro Q_PROCESSOR_RISCV_64
+    \relates <QtGlobal>
+    \since 5.13
+
+    Defined if the application is compiled for 64-bit RISC-V processors. The \l
+    Q_PROCESSOR_RISCV macro is also defined when Q_PROCESSOR_RISCV_64 is
+    defined.
+
+    \sa QSysInfo::buildCpuArchitecture()
+*/
+
 /*!
     \macro Q_PROCESSOR_S390
     \relates <QtGlobal>
index 77b3ba36b0fd74531a0d8d99b0db0ed3dcf0e26e..7ff711b5c504530364a5210e6eccbfc380ecd664 100644 (file)
 #  endif
 // Q_BYTE_ORDER not defined, use endianness auto-detection
 
+/*
+    RISC-V family, known variants: 32- and 64-bit
+
+    RISC-V is little-endian.
+*/
+#elif defined(__riscv)
+#  define Q_PROCESSOR_RISCV
+#  if __riscv_xlen == 64
+#    define Q_PROCESSOR_RISCV_64
+#  else
+#    define Q_PROCESSOR_RISCV_32
+#  endif
+#  define Q_BYTE_ORDER Q_LITTLE_ENDIAN
+
 /*
     S390 family, known variant: S390X (64-bit)